//
//  clb_image.h
//  DeferredLighting
//
//  Created by Holmes Futrell on 2/10/11.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#ifndef CLB_IMAGE
#define CLB_IMAGE

#import <OpenCL/OpenCL.h>

/* valid mem_flags are
 CL_MEM_READ_WRITE
 CL_MEM_WRITE_ONLY
 CL_MEM_READ_ONLY
 
 ---
 CL_MEM_USE_HOST_PTR
 CL_MEM_ALLOC_HOST_PTR
 CL_MEM_COPY_HOST_PTR
 */
void clb_print_supported_2D_image_formats(cl_context context, cl_mem_flags flags);
void clb_print_image_format_description(cl_image_format format);

void clb_print_image_description(cl_mem image);

const char *clb_channel_type_to_string(cl_channel_type type);
const char *clb_channel_order_to_string(cl_channel_order order);
const char *clb_mem_flags_to_strong(cl_mem_flags flags);
const char * clb_image_info_to_string(cl_image_info param_name);

#endif